/**
 *
 * @Author 董熠涛
 * @Date 2025/6/16 20:22
 */
package example.springboot.mapper;

import example.springboot.dto.StudyRecordDTO;
import example.springboot.entity.StudyRecord;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface StudyRecordMapper {
    
    /**
     * 查询学习记录列表（带分页和筛选）
     */
    List<StudyRecordDTO> findByPage(
            @Param("userId") Integer userId,
            @Param("startDate") String startDate,
            @Param("endDate") String endDate,
            @Param("offset") int offset,
            @Param("limit") int limit
    );

    /**
     * 统计学习记录总数
     */
    int countRecords(
            @Param("userId") Integer userId,
            @Param("startDate") String startDate,
            @Param("endDate") String endDate
    );

    /**
     * 根据ID查询学习记录
     */
    StudyRecord findById(Integer id);

    /**
     * 插入学习记录
     */
    int insert(StudyRecord record);

    /**
     * 删除学习记录
     */
    int deleteById(Integer id);
}

